1. Field of the Invention
The present invention relates to methods and apparatus data packet scheduling over a wireless network.
2. Description of the Related Art
In many networking arrangements, it is necessary for a plurality of data streams to be combined to share a limited number of channels or even a single line. For example, in a wireless network may have a number of units that are routed to a base station which is further connected through a single channel. Thus, the various streams going to the individual units must be handled through a single channel. It is the same scenario where various kinds of data streams, such as voice data, real-time video data, email and other data are all handled through an Internet protocol network. These various kinds of data must be combined into a limited number of channels or even a single channel for transmission.
Whenever, these data streams are merged, it is necessary to have some protocol for selecting the order in which they are placed in the channel. While, the simplest approach may be a first come, first serve approach, this may not be the most effective since some data streams are more time sensitive than others. For example, voice signals cannot be delayed very much at all, while email messages may be delayed by a substantial amount. Accordingly, a number of protocols have been sought to provide fair and optimum criteria for multiple users so that delay is reduced, invalid data is minimized and data throughput is maximized.
In addition, there are new quality of service (QoS) mechanisms under development for application in fixed network routers. However, the function of radio network elements, e.g., the radio network controller and the user equipment is significantly different from those of a router. Typically, a router handles multiple input streams and provides multiple outputs streams extremely fast. The packets are delivered to the next network node depending on the destination address with the help of routing tables.
When packets arrive in a radio network controller, they are not routed based on the IP address anymore, but are routed using the radio network specific user equipment (UE) addresses. The packets can be delivered through different transmission channels called dedicated channels, common channels or shared channels. The essential difference as compared to a fixed network is that the traffic shares common radio resources. The radio resource is scarce and changes dynamically due to changes in the traffic load, but also due to the radio characteristics. The radio network subsystem (RNS) is characterized in that it can control the radio resource dynamically and share it in a fair or close to optimal manner. The RNS is also characterized in that it is planned and dimensioned to provide coverage and capacity over a certain service area and targeted to satisfy the subscribers' needs. The capacity and coverage depend on the location, mobility and traffic type of the UE, but also it depends on the location, mobility and traffic type of the other UEs in the same RNS.
The problem is simply that there is no support for satisfying different QoS requirements over the air interface. Actually there is traditionally not even QoS mechanisms for the fixed network. However, as suggested above, recent effort has resulted in a number of QoS mechanisms for the internet protocol (IP) traffic in the fixed network. Only the most simple and traditional means are known as giving different requirements for the bearers like the minimum guaranteed bit-rate requirement, maximum allowed service data unit (SDU) size and assigning each bearer a priority.
Current solutions for packet traffic, particularly packet scheduling do take into account the QoS requirements of real-time services when scheduling transmission of the packets, especially delay requirements. All data packets are treated with the same level of importance during data scheduling and the special properties of real-time data traffic such as for example, the perpetual importance of different speech frames in voice over internet protocol (VoIP), is not taken into account. This often results in poor voice quality and dropped calls.
One scheduling method is called Proportional fair (PF) scheduling. PF scheduling like most of wireless schedulers, assumes that the data buffers for all the links in the base station (BS) have data queued all the time waiting for transmission. This assumption is not always valid, however, for real-time traffic such as VoIP. In other words, “fairness” will fail to be performed for the users with bounded timeline and various arriving and queuing situation.
Further, the PF scheduler neglects the fact that some other factors related to the source properties could also be incorporated in the scheduler for further system enhancement, not only higher capacity but also better link level quality, especially in the case of real-time applications instead of data.
Another packet scheduler is called the Weighted Metric (WM) Scheduler with frame error rate (FER) information. With the WM scheduler, the priority of a link is a weighted sum of the head-of-the-line packet waiting time in the base station buffer, the channel quality (in dB scale) and the frame error rate. The FER scheduler actually incorporates QoS factors such as delay and FER and capacity enhancement for delay-sensitive real-time traffic is utilized. However, the WM scheduler is sub-optimum because it does not provide minimum-performance guarantees to the real-time users. For example in this method, the delay guarantees of the packet depends on the length of another packet in a different path, that shares the same channel.
In another example scheduler, an opportunistic scheduler for streaming video was proposed recently for wireless networks. In the opportunistic scheduler, the amount of available buffer space and some level of frame importance index are incorporated in PF as additional factors. However, the available buffer space factor only compensates for the instability of PF due to finite queues while delay as the most important factor for real-time stream, is not addressed in this opportunistic scheduler. In addition, the problem on how to set packet importance to physical layer encoder packet (EP) constructed by multiple smaller packets, which is a serious problem for VoIP applications where packet length is relative small, is highly neglected.
Packet scheduling mechanisms such as the proportional fair scheduler, allocate resources in an inefficient manner which result in low system capacity. Thus, there is a need for a packet scheduler that takes into account the factors that affect QoS, and frame importance of real-time services.
Accordingly the present invention includes a method, apparatus and system for scheduling data packets in a wireless communications system. In one exemplary embodiment of the invention a method for scheduling data packets in a wireless communications system is described. The method includes determining a priority for at least one data packet, wherein determining the priority of the data packet is based at least on a plurality of quality of service factors, wherein each of the plurality of QoS factors has a corresponding weighting factor. The method further includes scheduling transmission of the at least one data packet based at least on the determined priority.
According to another exemplary embodiment of the invention an apparatus for scheduling data packets in a wireless communications system is described. The apparatus includes a priority means for determining a priority for at least one data packet, wherein the priority module determines the priority of the data packet based at least on a plurality of quality of service (QoS) factors, wherein each of the plurality of QoS factors has a corresponding weighting factor. The apparatus further includes a scheduling means for scheduling transmission of the at least one data packet based at least on the determined priority.
According to another exemplary embodiment of the invention a system for scheduling data packets in a wireless communications system is described. The system includes a priority module that determines a priority for at least one data packet, by determining a plurality of quality of service (QoS) factors, wherein each of the plurality of QoS factors has a corresponding weighting factor. The system further includes a scheduling module that schedules transmission of the at least one data packet based at least on the determined priority.